#ifndef XGMML_DTD_H
#define XGMML_DTD_H

/*
.
  Number of XGMMML Entities
.

The entity names are defined in the C file. This gives the number of them.
Must Match all tables by element!
*/

#define XGMML_ENTITIES 67


/*
.
  XGMML Element Enumeration
.

*/


typedef enum _XGMMLElement {
  XGMML_ATT = 0,
  XGMML_CENTER,
  XGMML_EDGE,
  XGMML_GRAPH,
  XGMML_GRAPHICS,
  XGMML_LINE,
  XGMML_NODE,
  XGMML_POINT,
  XGMML_ELEMENTS /* This must be the last entry */
} XGMMLELement;

/*
(
  ATT
)
*/
#define XGMML_ATT_ID          0
#define XGMML_ATT_NAME        1
#define XGMML_ATT_LABEL       2
#define XGMML_ATT_LABELANCHOR 3
#define XGMML_ATT_VALUE       4
#define XGMML_ATT_TYPE        5
#define XGMML_ATT_ATTRIBUTES  6

/*
(
  CENTER
)
*/

#define XGMML_CENTER_X 0
#define XGMML_CENTER_Y 1
#define XGMML_CENTER_Z 2
#define XGMML_CENTER_ATTRIBUTES 3

/*
(
  EDGE
)
*/

#define XGMML_EDGE_ID          0
#define XGMML_EDGE_NAME        1
#define XGMML_EDGE_LABEL       2
#define XGMML_EDGE_LABELANCHOR 3
#define XGMML_EDGE_SOURCE      4
#define XGMML_EDGE_TARGET      5
#define XGMML_EDGE_WEIGHT      6
#define XGMML_EDGE_ATTRIBUTES  7

/*
(
  GRAPH
)
*/

#define XGMML_GRAPH_ID          0
#define XGMML_GRAPH_NAME        1
#define XGMML_GRAPH_LABEL       2
#define XGMML_GRAPH_LABELANCHOR 3
#define XGMML_GRAPH_DIRECTED    4
#define XGMML_GRAPH_VENDOR      5
#define XGMML_GRAPH_SCALE       6
#define XGMML_GRAPH_ROOTNODE    7
#define XGMML_GRAPH_GRAPHIC     8
#define XGMML_GRAPH_ATTRIBUTES  9

/*
(
  GRAPHICS
)
*/

#define XGMML_GRAPHICS_TYPE         0
#define XGMML_GRAPHICS_X            1
#define XGMML_GRAPHICS_Y            2
#define XGMML_GRAPHICS_Z            3
#define XGMML_GRAPHICS_W            4
#define XGMML_GRAPHICS_H            5
#define XGMML_GRAPHICS_D            6
#define XGMML_GRAPHICS_IMAGE        7
#define XGMML_GRAPHICS_BITMAP       8
#define XGMML_GRAPHICS_WIDTH        9
#define XGMML_GRAPHICS_ARROW       10
#define XGMML_GRAPHICS_CAPSTYLE    11
#define XGMML_GRAPHICS_JOINSTYLE   12
#define XGMML_GRAPHICS_SMOOTH      13
#define XGMML_GRAPHICS_SPLINESTEPS 14
#define XGMML_GRAPHICS_JUSTIFY     15
#define XGMML_GRAPHICS_FONT        16
#define XGMML_GRAPHICS_BACKGROUND  17
#define XGMML_GRAPHICS_FOREGROUND  18
#define XGMML_GRAPHICS_EXTENT      19
#define XGMML_GRAPHICS_START       20
#define XGMML_GRAPHICS_STYLE       21
#define XGMML_GRAPHICS_STIPPLE     22
#define XGMML_GRAPHICS_VISIBLE     23
#define XGMML_GRAPHICS_FILL        24
#define XGMML_GRAPHICS_OUTLINE     25
#define XGMML_GRAPHICS_ANCHOR      26
#define XGMML_GRAPHICS_ATTRIBUTES  27


/*
(
  LINE
)
*/

#define XGMML_LINE_ATTRIBUTES 0


/*
(
  NODE
)
*/

#define XGMML_NODE_ID          0
#define XGMML_NODE_NAME        1
#define XGMML_NODE_LABEL       2
#define XGMML_NODE_LABELANCHOR 3
#define XGMML_NODE_EDGEANCHOR  4
#define XGMML_NODE_WEIGHT      5
#define XGMML_NODE_ATTRIBUTES  6

/*
(
  POINT
)
*/

#define XGMML_POINT_X 0
#define XGMML_POINT_Y 1
#define XGMML_POINT_Z 2
#define XGMML_POINT_ATTRIBUTES 3


/*
.
  The C Representation of the SGML DTD
.
*/

extern SGML_dtd * XGMML_dtd (void);
extern BOOL XGMML_setDtd (const SGML_dtd * dtd);



#endif
